package com.ruoyi.wb.service;

import com.ruoyi.wb.domain.WbClassifyYear;
import com.ruoyi.wb.dto.WbClassifyDelDto;
import com.ruoyi.wb.dto.WbClassifyDto;
import com.ruoyi.wb.dto.WbClassifyYearDto;
import com.ruoyi.wb.vo.WbClassifyYearVo;

import java.util.List;

/**
 * 维保年度类目列表Service接口
 * 
 * @author ruoyi
 * @date 2024-11-18
 */
public interface IWbClassifyYearService 
{
    /**
     * 查询维保年度类目列表
     * 
     * @param id 维保年度类目列表主键
     * @return 维保年度类目列表
     */
    public WbClassifyYear selectWbClassifyYearById(Long id);

    /**
     * 查询维保年度类目列表列表
     * 
     * @param wbClassifyYear 维保年度类目列表
     * @return 维保年度类目列表集合
     */
    public List<WbClassifyYear> selectWbClassifyYearList(WbClassifyYear wbClassifyYear);

    /**
     * 新增维保年度类目列表
     * 
     * @param wbClassifyYear 维保年度类目列表
     * @return 结果
     */
    public int insertWbClassifyYear(WbClassifyYear wbClassifyYear);

    /**
     * 修改维保年度类目列表
     * 
     * @param wbClassifyYear 维保年度类目列表
     * @return 结果
     */
    public int updateWbClassifyYear(WbClassifyYear wbClassifyYear);

    /**
     * 批量删除维保年度类目列表
     * 
     * @param ids 需要删除的维保年度类目列表主键集合
     * @return 结果
     */
    public int deleteWbClassifyYearByIds(Long[] ids);

    /**
     * 删除维保年度类目列表信息
     * 
     * @param id 维保年度类目列表主键
     * @return 结果
     */
    public int deleteWbClassifyYearById(Long id);

    /**
     * 新增年度类目模板 包含子集
     * @param wbClassifyYearDto
     * @return
     */
    int addAll(WbClassifyYearDto wbClassifyYearDto);

    /**
     * 查询年度 模板 及所有子目录
     * @param wbClassifyYear
     * @return
     */
    List<WbClassifyYearVo> allList(WbClassifyYear wbClassifyYear);

    /**
     * 新增模板 一级 或二级 或三级
     */
    int addOne(WbClassifyDto wbClassifyDto);

    /**
     * 修改模板 一级 或二级 或三级
     */
    int editOne(WbClassifyDto wbClassifyDto);

    /**
     * 批量删除模板  一级 或二级 或三级
     * @param wbClassifyDelDto
     * @return
     */
    int removeAll(WbClassifyDelDto wbClassifyDelDto);

}
